219 research outputs found

    Class-based Visibility from an MDA Perspective: From Access Graphs to Eiffel Code.

    Full text link

    A Catalog of Patterns for Concept Lattice Interpretation in Software Reengineering

    Get PDF
    International audienceFormal Concept Analysis (FCA) provides an important approach in software reengineering for software understanding, design anomalies detection and correction. However, FCA-based approaches have two problems: (i) they produce lattices that must be interpreted by the user according to his/her understanding of the technique and different elements of the graph; and, (ii) the lattice can rapidly become so big that one is overwhelmed by the mass of information and possibilities. In this paper, we present a catalogue of important patterns in concept lattices, which can allow automating the task of lattice interpretation. The approach helps the reengineer to concentrate on the task of reengineering rather than understanding a complex lattice. We provide interpretation of these patterns in a generalized manner and illustrate them on various contexts constructed from program information of different open-source systems. We also present a tool that allows automated extraction of the patterns from concept lattices

    Relational Data Exploration by Relational Concept Analysis

    No full text
    Relational Concept Analysis [4] is an extension to FCA con- sidering several contexts with relations between them. Often used to extend the knowledge that can be learned with FCA, RCA also meets the issue of combinatorial explosion. The initial specification of RCA implies a monotonic growth of the number of concepts and an exhaustiveness of all the concepts that can be obtained when a fixed point is reached. In this position paper we propose a different specification of RCA that permits an interactive exploration of the data by letting the choice of the user for each step. This change will permit to handle richer relational data in a more flexible way by restraining the relations explored at each step hence reducing the number of created concepts

    On automatic class insertion with overloading

    Get PDF
    Also published in Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA)International audienceSeveral algorithms [Cas92, MS89, Run92, DDHL94a, DDHL95, GMM95] have been proposed to automatically insert a class into an inheritance hierarchy. But actual hierarchies all include overriden and overloaded properties that these algorithms handle either very partially or not at all. Partially handled means handled provided there is a separate given function f able to compare overloaded properties [DDHL95, GMM95].In this paper, we describe a new version of our algorithm (named Ares) which handles automatic class insertion more efficiently using such a function f. Although impossible to fully define, this function can be computed for a number of well defined cases of overloading and overriding. We give a classification of such cases and describe the computation process for a well-defined set of nontrivial cases.The algorithm preserves these important properties:- preservation of the maximal factorization of properties- preservation of the underlying structure (Galois lattice) of the input hierarchy- conservation of relevant classes of the input hierarchy with their properties

    Performances of Galois Sub-hierarchy-building Algorithms

    Get PDF
    LNAI est une "Sublibrary de LNCS"International audienceThe Galois Sub-hierarchy (GSH) is a polynomial-size repre- sentation of a concept lattice which has been applied to several fields, such as software engineering and linguistics. In this paper, we analyze the performances, in terms of computation time, of three GSH-building algorithms with very different algorithmic strategies: Ares, Ceres and Pluton. We use Java and C++ as imple- mentation languages and Galicia as our development platform. Our results show that implementations in C++ are significantly faster, and that in most cases Pluton is the best algorithm

    Learning Model Transformations from Examples using FCA: One for All or All for One?

    No full text
    International audienceIn Model-Driven Engineering (MDE), model transformations are basic and primordial entities. An efficient way to assist the definition of these transformations consists in completely or partially learning them. MTBE (Model Transformation By-Example) is an approach that aims at learning a model transformation from a set of examples, i.e. pairs of transformation source and target models. To implement this approach, we use Formal Concept Analysis as a learning mechanism in order to extract executable rules. In this paper, we investigate two learning strategies. In the first strategy, transformation rules are learned independently from each example. Then we gather these rules into a single set of rules. In the second strategy, we learn the set of rules from all the examples. The comparison of the two strategies on the well-known transformation problem of class diagrams to relational schema showed that the rules obtained from the two strategies are interesting. Besides the first one produces rules which are more proper to their examples and apply well compared to the second one which builds more detailed rules but larger and more difficult to analyze and to apply

    Class Model Normalization Outperforming Formal Concept Analysis approaches with AOC-posets

    Get PDF
    International audienceDesigning or reengineering class models in the domain of programming or modeling involves capturing technical and domain concepts , finding the right abstractions and avoiding duplications. Making this last task in a systematic way corresponds to a kind of model nor-malization. Several approaches have been proposed, that all converge towards the use of Formal Concept Analysis (FCA). An extension of FCA to linked data, Relational Concept Analysis (RCA) helped to mine better reusable abstractions. But RCA relies on iteratively building concept lattices, which may cause a combinatorial explosion in the number of the built artifacts. In this paper, we investigate the use of an alternative RCA process, relying on a specific sub-order of the concept lattice (AOC-poset) which preserves the most relevant part of the normal form. We measure, on case studies from Java models extracted from Java code and from UML models, the practical reduction that AOC-posets bring to the normal form of the class model

    Un Framework de traçabilité pour des transformations à caractère impératif

    Get PDF
    National audienceCet article s’inscrit dans le cadre de l’ingénierie dirigée par les mo- dèles et apporte une contribution au problème de la traçabilité des artefacts de modélisation durant une chaîne de transformations écrites dans un langage impé- ratif. L’approche que nous proposons nécessite peu d’interventions de l’utilisa- teur. Nous introduisons un métamodèle générique des traces qui permet entre autres d’apporter une dimension multi-échelles aux traces grâce à l’applica- tion du patron de conception composite. Le principe de notre approche est de surveiller certaines catégories d’opérations intéressantes pour la génération de traces pertinentes. Ces catégories sont définies à l’aide du type des objets mani- pulés par les opérations. Une fois les catégories définies, la trace est générée par du code dédié qui est injecté automatiquement dans la transformation, autour des opérations caractérisées par les catégories définies. Un prototype a été réa- lisé pour les transformations de modèles écrites en Java, sur le framework EMF. L’injection du code dédié à la traçabilité est réalisée à l’aide de la programmation par aspects

    Selection of Composable Web Services Driven by User Requirements

    Get PDF
    International audienceBuilding a composite application based on Web services has become a real challenge regarding the large and diverse service space nowadays. Especially when considering the various functional and non-functional capabilities that Web services may afford and users may require. In this paper, we propose an approach for facilitating Web service selection according to user requirements. These requirements specify the needed functionality and expected QoS, as well as the composability between each pair of services. The originality of our approach is embodied in the use of Relational Concept Analysis (RCA), an extension of Formal Concept Analysis (FCA). Using RCA, we classify services by their calculated QoS levels and composability modes. We use a real case study of 901 services to show how to accomplish an efficient selection of services satisfying a specified set of functional and non-functional requirements
    • …
    corecore